草庐IT

python re多行匹配

全部标签

PHP DomDocument - getElementByID(部分匹配)如何?

有没有一种方法可以获取所有具有部分匹配的id的元素。例如,如果我想抓取网页上所有id属性以msg_开头的HTML元素但在那之后可能是任何东西。这是我到目前为止所做的:$doc=newDomDocument;//Weneedtovalidateourdocumentbeforereferingtotheid$doc->validateOnParse=true;$doc->loadHtml(file_get_contents('{URLISHERE}'));foreach($doc->getElementById('msg_')as$element){foreach($element->g

php - 正则表达式匹配子目录但不匹配父目录

我正在努力为PHP获取正则表达式以匹配子目录但避免父目录。http://www.address.com/2000/12/31/->不匹配http://www.address.com/2000/12/31/whatever/->匹配这是我尝试过但似乎不起作用的方法:#http://www\.address\.com/\d{4}/\d{2}/\d{2}/.# 最佳答案 末尾的点只会匹配一个字符,你想要一个或多个:#http://www\.address\.com/\d{4}/\d{2}/\d{2}/.+#

php - 匹配文件名第一部分的全局模式

在一个目录中,我有像123X1.jpg、23X1.jpg、23X2.jpg、4123X1.jpg这样的文件名。我需要glob模式来仅获取以所需字符串开头的列出文件。例如:'23X'->23X1.jpg,23X2.jpg'123X'->123X1.jpg模式的最后一部分始终是X。第一个是数字。 最佳答案 glob()很简单:print_r(glob('/path/to/23X*.jpg'));print_r(glob('/path/to/123X*.jpg')); 关于php-匹配文件名第

php - 正则表达式匹配已定义超文本的超链接

我试图找到一个与定义了超文本的HTML超链接标记相匹配的正则表达式。例如:Thedefinedtext我需要匹配任何超链接,它的超文本是“定义的文本”。我刚刚在RegularExpressionLibrary上找到了以下表达式但并没有解决问题。.+?)(?=[>\s]).*?>(?.+?)我希望有一个适用于PHP的解决方案。 最佳答案 $regex="/Thedefinedtext/";//correctedasperthecomments$str='ThedefinedtextTheNot-definedtext';preg_ma

php - Codeigniter 的正则表达式匹配

我在javascript中有这个用于验证的正则表达式:/^(?:'[A-z](([\._\-][A-z0-9])|[A-z0-9])*[a-z0-9_]*')$/现在我想要使用Codeigniter的表单验证对表单验证使用相同的正则表达式:$this->form_validation->set_rules('username','Nombredeusuario','required|min_length[2]|max_length[15]|regex_match[/^[A-Za-z0-9_.\-]+$/]|is_unique[user.username]');该行中的正则表达式不等同于

php - 正则表达式匹配字母数字,中间可能只有破折号

我已经做到了这一点:^[a-zA-Z0-9]+(?:--?[a-zA-Z0-9]+)*$但是上面的表达式并没有像我需要的那样限制长度。我需要的模式总共只能匹配5-6个字符。所以,这就是它应该如何解决的问题:safety(valid)safet-(invalid)s-a-fe(valid)-safet(invalid)s7-45(valid)s--fs(invalid)连续连字符无效。前导和尾随连字符无效。总长度(包括任何连字符)应为5-6个字符。我尝试用范围({5,6})替换我的+,但没有成功。感谢您的帮助。我尝试的另一条路线是:^[A-Z0-9][A-Z0-9-]{3,4}[A-Z0

php - Alias 指令可能永远不会匹配,因为它与早期的 Alias 重叠

我正在尝试让cgi在我的本地主机服务器上工作。首先我添加了虚拟本地主机。我有conf文件/etc/apache2/sites-available/myage.com.conf这是这个文件的内容。ServerNamemypage.comServerAliaswww.mypage.comServerAdminadmin@mypage.comDocumentRoot/var/www/mypage.com/public_htmlErrorLog${APACHE_LOG_DIR}/error.logCustomLog${APACHE_LOG_DIR}/access.logcombinedScri

php - 解析 php 中所有匹配模式的字符串

我想匹配所有的模式,比如[[WHATEVER]]这两个括号内的文本可以是大写或小写,可以以空格开头或以空格结尾,可以由两个或多个由空格分隔的单词组成$string="The[[QUICK]]brown[[FOX]]jumpedover[[whatever]]";parse$string;//Iwouldlikeanresulttobelikearrayarray(0=>"[[QUICK]]",1=>"[[FOX]]",2=>"[[whatever]]") 最佳答案 你可以像这样匹配它们:$re="/\\[{2}.*?\\]{2}/"

php - 如何用 PHP preg_replace 匹配一个字符加空格

在我的文本中我有这样的输出:Åapat我想搜索“Å”,注意Å+空格。并将其转换为“Š”。所以基本上我想找到这个后面有空格的字母,然后用一个没有空格的字母替换它。字符串替换不能做到这一点,我对正则表达式不是很好,我试过这个但它不起作用:$return=preg_replace('/[Å\s]/','Š',$return);有人可以帮帮我吗?注意这个词“Åapat”不必在句子的开头,大多数时候它在中间的某个地方。 最佳答案 $re="/Å\\s/m";$str="Åapat";$subst="Š";$result=preg_replac

php - 匹配字符串直到 x 但没有被 y 成功

我有一个字符串,其中我试图捕获第一个“~”之前的所有内容,不是后跟“=”。input.error[data-groups~=5]~label.light[data-groups~=5]││└Desiredcaptureregion┘如果我理解正确,为此我应该使用负面展望到目前为止,这是我的尝试:(^[^~]+(?!=))想法是[^~]+将消耗所有内容,直到遇到“~”,前提是使用指令(?!=)但是这个表达式只捕获了第一个“~”之前的所有内容抱歉,如果这看起来是一次糟糕的尝试,正则表达式并不是我的强项。 最佳答案 你快到了:你忘了实际匹